在运行期间执行查询(动态查询)
    要在运行期执行查询,可以:
    (1)调用Open:适合于返回查询结果的查询,比如执行SELECT语句
    (2)调用ExecSQL:适合于执行不返回结果的查询,比如执行INSERT、UPDATE或DELETE语句。


    注意:如果在设计期间无法确定是否要返回查询结果,可以用Try...Except结构把这两个过程都写进去,一般Open在Try部分调用,而ExecSQL在Except部分调用,这样,即使Open调用失败,也能执行到ExecSQL。可以在Except部分截获异常的类型。如果这个异常不是ENoResult异常,那么这个异常一定是其他原因引起的,必须被处理。
    程序示例如下:

try
    Query2.Open;
except
    on E: Exception do
    if not (E is ENoResultSet) then
        raise;
end;

可参看:
    (1)执行返回结果的查询
    (2)执行不返回结果的查询

RainBow策划制作 版权所有